{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Пример с ковариационной матрицей.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.7.10"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "TMU-vG5tL_53",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "3923dda4-508f-49ce-cb2d-a688a62407be"
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "np.set_printoptions(precision=2, suppress=True)\n",
        "\n",
        "\n",
        "x = np.random.uniform(-30, 30, 30)\n",
        "q = np.random.uniform(-30, 30, 30)\n",
        "y = np.random.uniform(-30, 30, 30) #0.1 * x + 0.1 * q \n",
        "\n",
        "\n",
        "A =np.array( [x]+[y]).T\n",
        "\n",
        "print(f'Матрица A:\\n{A}')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Матрица A:\n",
            "[[ 22.23  25.47]\n",
            " [  4.92 -18.49]\n",
            " [  0.01  14.39]\n",
            " [-24.69  -8.88]\n",
            " [-10.82   9.81]\n",
            " [-11.39  23.08]\n",
            " [ 21.22 -26.76]\n",
            " [ -3.81  27.  ]\n",
            " [-15.49 -23.9 ]\n",
            " [ 23.12  -6.22]\n",
            " [-20.26 -10.23]\n",
            " [ 23.48 -20.5 ]\n",
            " [  7.22  14.38]\n",
            " [-18.25  14.76]\n",
            " [ 19.7   13.62]\n",
            " [-25.4   -4.42]\n",
            " [-23.83  -0.39]\n",
            " [ -7.41  -4.02]\n",
            " [-18.63  -0.81]\n",
            " [  6.72  28.33]\n",
            " [  2.01   9.66]\n",
            " [-14.91 -23.48]\n",
            " [ 20.2   -3.73]\n",
            " [-30.    22.4 ]\n",
            " [-12.86  26.05]\n",
            " [-24.72  -0.29]\n",
            " [ -8.57   2.92]\n",
            " [-15.88  -1.8 ]\n",
            " [ -0.82  28.78]\n",
            " [ -7.94  -9.3 ]]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "xV2O0AxNL_6J"
      },
      "source": [
        "попытка1 - найти вектор методом МНК "
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "r6bbPthlL_6L"
      },
      "source": [
        "MNK=np.vstack([A.T[0], np.ones(len(A))]).T"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nOtegGG9L_6L",
        "scrolled": true,
        "outputId": "552362e1-9d89-4e6d-fdac-7888791a7f99"
      },
      "source": [
        "m, c = np.linalg.lstsq(MNK, A.T[1], rcond=None)[0]\n",
        "m, c"
      ],
      "execution_count": null,
      "outputs": [
        {
          "data": {
            "text/plain": [
              "(2.8893379262632344, -2.7188951056139303)"
            ]
          },
          "execution_count": 3,
          "metadata": {},
          "output_type": "execute_result"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nDfZEsY2L_6M"
      },
      "source": [
        "U, s, V = np.linalg.svd(A)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bYfocE7RL_6N"
      },
      "source": [
        "D = np.eye(2)*s"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4mNYlOLCL_6O",
        "outputId": "5e8f4ac4-9cd3-4c0a-b8d1-49c950afc4c6"
      },
      "source": [
        "print(f'Матрица D:\\n{D}')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Матрица D:\n",
            "[[297.79   0.  ]\n",
            " [  0.    15.13]]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0_t_s9bGL_6O",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "4bb068d6-916c-4978-f77a-610f3daa0c74"
      },
      "source": [
        "A_= A.T @ A\n",
        "w, v = np.linalg.eig(A_)\n",
        "print(f'Матрица A_:\\n{A_}')\n",
        "print(f'Собственные значения:\\n{w}')\n",
        "print(f'Собственные векторы:\\n{v}')\n",
        "\n",
        "U, s, V = np.linalg.svd(A_)\n",
        "D = np.eye(2)*s\n",
        "print(f'Собственные значения:\\n{s}')\n",
        "print(f'Матрица U:\\n{U}')\n",
        "print(f'Собственные вектор, найденный по первому собственному значению:\\n{U[0]}')\n",
        "print(f'Собственные вектор, найденный по второму собственному значению:\\n{U[1]}')\n",
        "print(f'Матрица V:\\n{V}')\n",
        "\n",
        "\n",
        "print(f'Матрица d:\\n{v[:,0]}')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Матрица A_:\n",
            "[[8708.64 -585.03]\n",
            " [-585.03 8700.  ]]\n",
            "Собственные значения:\n",
            "[9289.36 8119.27]\n",
            "Собственные векторы:\n",
            "[[ 0.71  0.7 ]\n",
            " [-0.7   0.71]]\n",
            "Собственные значения:\n",
            "[9289.36 8119.27]\n",
            "Матрица U:\n",
            "[[-0.71  0.7 ]\n",
            " [ 0.7   0.71]]\n",
            "Собственные вектор, найденный по первому собственному значению:\n",
            "[-0.71  0.7 ]\n",
            "Собственные вектор, найденный по второму собственному значению:\n",
            "[0.7  0.71]\n",
            "Матрица V:\n",
            "[[-0.71  0.7 ]\n",
            " [ 0.7   0.71]]\n",
            "Матрица d:\n",
            "[ 0.71 -0.7 ]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZxPLNQ2pL_6P"
      },
      "source": [
        "судя по всему не совсем удалось"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4LxOvSiwL_6Q",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 497
        },
        "outputId": "20f2a495-0f58-4f9c-b17e-a71d1881025a"
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "plt.figure(figsize=(8,8))\n",
        "plt.xlim([-33, 33])\n",
        "plt.ylim([-33, 33])\n",
        "plt.yticks(np.arange(-30, 31, 3))\n",
        "plt.xticks(np.arange(-30, 31, 3))\n",
        "plt.gca().set_aspect('equal', adjustable='box')\n",
        "\n",
        "\n",
        "plt.scatter(A.T[0], A.T[1], c='black')\n",
        "\n",
        "\n",
        "origin = [0], [0] # origin point\n",
        "plt.quiver([0],[0], U[:1][0][0], U[:1][0][1], color=['g'], scale=3)\n",
        "plt.quiver([0],[0], U[1:2][0][0], U[1:2][0][1], color=['r'], scale=3)\n",
        "plt.xlabel(\"x\")\n",
        "plt.ylabel(\"y\")\n",
        "\n",
        "plt.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 576x576 with 1 Axes>"
            ]
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "u8igst4HL_6R"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "FakQB-cYL_6R"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "37tukYOyL_6S"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}